Batching Update

❓질문

리액트의 Batching Update에 대해서 설명해주세요.


💡 조사하기전 내가 알고 있던 내용

리액트 18 버젼부터 새로 생긴 기능으로 오토매틱 배칭을 예로 들 수 있습니다.
이는 기존의 배칭 ( 요청을 하나하나 처리하는게 아닌 일정 주기로 묶어 한번에 렌더링하여 처리하는 기술 )이 리액트의 내부에서만 동작하던 반면 18버젼의 오토매틱 배칭은 리액트 외부 ex) setTimeout , Promise 등의 처리에서도 같이 묶어 최적화 할 수 있습니다.


🏫 정리한 내용

리액트의 배칭 업데이트(Batching Update)는 여러 상태 업데이트를 하나의 리렌더링으로 그룹화하는 최적화 기법입니다.

리액트는 성능 향상을 위해 여러 setState 호출을 일괄 처리하여 불필요한 렌더링을 방지합니다.

예를 들어, 하나의 이벤트 핸들러 내에서 여러 번 상태를 업데이트하는 경우, 리액트는 이를 내부적으로 모아서 한 번의 업데이트로 처리합니다.

React 18 이전에는 이벤트 핸들러 내부와 같은 리액트가 제어하는 영역에서만 배칭이 적용되었습니다.

그러나 React 18부터는 '자동 배칭'이 도입되어 PromisesetTimeout, 네이티브 이벤트 핸들러 등 리액트 외부 영역에서도 배칭이 기본적으로 적용됩니다.

배칭을 통해 불필요한 리렌더링을 줄이고 계산 비용을 절감하여 애플리케이션의 성능을 향상시킬 수 있습니다.